package top.wyix.module.bpm.service.message;

import top.wyix.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO;
import top.wyix.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO;
import top.wyix.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;

import javax.validation.Valid;

/**
 * @author wangdx
 */
public interface BpmMessageService {
    /**
     * 发送流程实例被通过的消息
     *
     * @param reqDTO 发送信息
     */
    void sendMessageWhenProcessInstanceApprove(@Valid BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO);

    /**
     * 发送流程实例被不通过的消息
     *
     * @param reqDTO 发送信息
     */
    void sendMessageWhenProcessInstanceReject(@Valid BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO);

    /**
     * 发送任务被分配的消息
     *
     * @param reqDTO 发送信息
     */
    void sendMessageWhenTaskAssigned(@Valid BpmMessageSendWhenTaskCreatedReqDTO reqDTO);
}
